]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
popupMenu: Use duration 0 when not animating
authorAlessandro Bono <alessandro.bono369@gmail.com>
Sat, 21 Oct 2023 11:31:42 +0000 (13:31 +0200)
committerMarge Bot <marge-bot@gnome.org>
Sat, 21 Oct 2023 15:02:55 +0000 (15:02 +0000)
Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c85312f571e14abe69bb6674a361c16d65 we are sure that
duration 0 is always preserved.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>

js/ui/popupMenu.js

index 60da5460d552d379c9e6fdc3ee784b38f0fc1be1..b2a3c4a481dce11994258f34e041ed7b27f6a0d8 100644 (file)
@@ -1076,23 +1076,20 @@ export class PopupSubMenu extends PopupMenuBase {
 
         let targetAngle = this.actor.text_direction === Clutter.TextDirection.RTL ? -90 : 90;
 
-        if (animate) {
-            let [, naturalHeight] = this.actor.get_preferred_height(-1);
-            this.actor.height = 0;
-            this.actor.ease({
-                height: naturalHeight,
-                duration: 250,
-                mode: Clutter.AnimationMode.EASE_OUT_EXPO,
-                onComplete: () => this.actor.set_height(-1),
-            });
-            this._arrow.ease({
-                rotation_angle_z: targetAngle,
-                duration: 250,
-                mode: Clutter.AnimationMode.EASE_OUT_EXPO,
-            });
-        } else {
-            this._arrow.rotation_angle_z = targetAngle;
-        }
+        const duration = animate ? 250 : 0;
+        let [, naturalHeight] = this.actor.get_preferred_height(-1);
+        this.actor.height = 0;
+        this.actor.ease({
+            height: naturalHeight,
+            duration,
+            mode: Clutter.AnimationMode.EASE_OUT_EXPO,
+            onComplete: () => this.actor.set_height(-1),
+        });
+        this._arrow.ease({
+            rotation_angle_z: targetAngle,
+            duration,
+            mode: Clutter.AnimationMode.EASE_OUT_EXPO,
+        });
     }
 
     close(animate) {
@@ -1108,25 +1105,21 @@ export class PopupSubMenu extends PopupMenuBase {
         if (animate && this._needsScrollbar())
             animate = false;
 
-        if (animate) {
-            this.actor.ease({
-                height: 0,
-                duration: 250,
-                mode: Clutter.AnimationMode.EASE_OUT_EXPO,
-                onComplete: () => {
-                    this.actor.hide();
-                    this.actor.set_height(-1);
-                },
-            });
-            this._arrow.ease({
-                rotation_angle_z: 0,
-                duration: 250,
-                mode: Clutter.AnimationMode.EASE_OUT_EXPO,
-            });
-        } else {
-            this._arrow.rotation_angle_z = 0;
-            this.actor.hide();
-        }
+        const duration = animate ? 250 : 0;
+        this.actor.ease({
+            height: 0,
+            duration,
+            mode: Clutter.AnimationMode.EASE_OUT_EXPO,
+            onComplete: () => {
+                this.actor.hide();
+                this.actor.set_height(-1);
+            },
+        });
+        this._arrow.ease({
+            rotation_angle_z: 0,
+            duration,
+            mode: Clutter.AnimationMode.EASE_OUT_EXPO,
+        });
     }
 
     _onKeyPressEvent(actor, event) {